This invention relates generally to a graphical user interfaces, more specifically, to zooming graphical interfaces capable of displaying information in multiple levels of magnification to users of computer systems.
The available display screen area on a computer monitor has become increasingly inadequate for certain computer applications in terms of the presentation of the complex information and control options typical in advanced computer systems. In this regard, computing systems of the prior art have attempted to provide various solutions to address the problem of limited display screen area.
For example, windowing systems divide a screen into multiple tiled or overlapping display areas, resembling sheets of paper on a desktop, with one window in the foreground and others in the background. These windows remind the user that other information and control options are readily available to be brought to the foreground at the click of a mouse on an unobscured point in the window containing the desired material. However, such systems allow only a limited number of windows to be open and only the foreground window to be operable at any one time. In addition, information within a window that does not fit on the window""s display screen area must be scrolled using an input device in order to access chosen information. Since objects that a user wants to access are concealed until explicitly opened and scrolled to, systems of this type deprive the user of xe2x80x98peripheralxe2x80x99 vision of all the available information.
Another attempt to increase displayed information and control options is the use of hierarchical menuing through a sequence of display screens, offered to the user as a cascade of submenu windows or a single designated screen area which is overwritten for each submenu. Both of these display methods have significant drawbacks. Typically, advanced computer systems involve complex hierarchical information structures organized into menus representing decision trees. Attempts to maximize the display screen area by abbreviating menuing options create systems less amenable to use by non-experts, requiring extensive training to produce expert users, because, in many cases, the top levels of a menu do not suggest options at sub-levels. Moreover, the graphical representations of large hierarchical structures often occupy multiple display screens, requiring extensive scrolling to access material not visible on the limited display screen. Further, cascaded windows introduce screen clutter and prevent the user from seeing all of the cascaded information simultaneously, while presentation of information in a single designated screen area removes information from the display each time a write operation occurs. Both methods introduce the possibility for a user to lose track of the current location within the menu hierarchy. As an additional drawback to these methods, diversified data collections not easily described by a well structured hierarchy are represented even less adequately.
A somewhat different method for accessing information available on a computer display is taught by U.S. Pat. No. 5,341,466, to Perlin et al., entitled Fractal Computer User Centerface with Zooming Capability, that patent being incorporated into this disclosure by reference. Perlin discloses a method of altering the size of information on a display, i.e. xe2x80x9czoomingxe2x80x9d, for providing ease of information access to a user. However, the limited capabilities of the zooming functionality in Perlin do not support organization, arrangement and zooming of logical sets of zooming objects in a zooming graphical interface.
Objects, which represent items of information, may be arranged on a plurality of reference surfaces in a zooming space. In most cases, a certain subset of the total objects in the zooming space are logically related. The prior art limits the viewing of logically related objects to zooming of all objects located in the zooming space when a zooming operation is invoked. To enable such prior-art functionality, a user is required to position objects on the zooming space in close proximity with other logically related objects. In this manner, a zoom of all objects in the zooming space enables the user to view the desired subset of objects containing related information. While such an approach may ultimately accomplish the desired task, the process is computationally and time intensive, because all objects in the zooming space must be zoomed in order to view a desired subset of logically related objects.
Furthermore, zooming space organization and editing with current zooming technology presents a host of limitations. The current zooming technology has no capability for automatically adjusting the positioning of logically related objects in the zooming space in response to the positioning of an additional object in the zooming space. When editing a zooming space to provide additional objects logically related to objects previously positioned in the space, the user must position the object to be added in empty space near existing related objects. If the additional object does not fit in the available empty space near existing objects to which it is logically related, the user is forced to chose among one of several undesirable remedies.
If there is limited space between existing objects, the user may position the additional objects in the limited available empty space; alternatively, the additional objects may be positioned on a different reference surface that has available empty space. The former remedy introduces screen clutter, while the later forces the user to alter the desired hierarchical ordering of objects to accommodate the space limitation. The user also could position the additional object away from its related objects, but this approach defeats the desired hierarchical ordering of the objects. Another possible remedy is to manually rearrange the positioning of a series of objects in order maintain the spatial/logical relation of objects and to provide space into which the additional related objects can be positioned satisfactorily. This manual rearrangement is labor intensive, time consuming and ultimately frustrating to the user, forming a serious impediment to effective system use of complex computer systems. These limited capabilities of current zooming interfaces detract from the efficient utilization of computers.
Accordingly, it is an objective of the invention to provide a zooming graphical interface that provides for easy organization, arrangement and zooming of logical sets of zooming objects in a zooming graphical interface. To that end, a zooming interface is provided that permits a user to associate logically related objects into a group object, allowing easy rearrangement of the positioning of associated objects upon subsequent editing of group objects in the zooming space.
In particular, a computer interface is described that provides a space-grid group object, which enables an organization of logical sets of other zooming objects into a two dimensional table forming rows and columns on the zooming space. The space-grid group object is a two dimensional array comprised of at least one cell, with each cell in the array having height and width dimensions. Each cell in the space-grid group may be defined by the edges of its quadrilateral bounding box and identified by its row and column grid coordinates. The bounding box of each cell of the space-grid is displayed by the interface to facilitate the organization of objects into a readily understandable arrangement of objects. The dimensions of a cell of a space-grid group object, i.e. its bounding box and displayed edges, are automatically resized to enclose the objects associated with a cell.
Logically related objects are positioned in a cell of a space-grid group object with a desired spatial relationship relative to other zooming objects in the cell. The user may interact with a displayed space-grid and may modify the space-grid by adding an object to a cell of the space-grid. The added object is automatically associated with all other objects positioned in the cell. The zooming graphical user interface of the invention automatically increases the dimensions of the edited cell so as to circumscribe the objects positioned in the cell, allowing the positioning of the newly added object at a user-selected position in the edited cell. A change in cell dimensions of a single cell causes corresponding dimensional changes in the entire space-grid structure, resizing and repositioning, as necessary, each cell of the space grid. The height of each cell with the same row coordinate as the edited cell and width of each cell with the same column coordinate as the edited cell are automatically resized to the dimension of the edited cell. The positioning of all other cells in the space-grid is adjusted relative to the zooming space to allow for the changed cell dimensions, while the positioning among objects contained in a particular cell is preserved. In other words, the spatial relationships of objects within individual cells are preserved, while the dimensions and location of cells of the space-grid group object are altered relative to the zooming space. This functionality allows the user to quickly edit and adjust the zooming space to add objects logically related to previously positioned objects.
The zooming graphical user interface of the present invention will find utility in object oriented drawing applications and other zooming applications that use groups to logically organize graphical data which is displayed as a zooming universe of graphical objects. The graphical objects, including collections of logically related objects associated into groups, can be manipulated with interactive input devices. The zooming graphical user interface permits a user to easily organize and re/arrange logical sets of zooming objects in a zooming space and allows the display of the zooming objects at altered levels of magnification.